import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)
// npm install vuex --save 之后创建Vuex实例,同时在main.js中以变量名store注册给Vue
export default new Vuex.Store({
  state: {
    count: 0
  },
  // 理解getters属性的作用
  getters: {
    showNum: state => {
      return '当前最新的数量是【' + state.count + '】'
    }
  },
  mutations: {
    add (state) {
      state.count++
    }
  },
  actions: {
    // 定义异步执行方法,在vue调用端使用dispath方法调用,
    addAsync (context) {
      setTimeout(() => {
        context.commit('add') // 其本质还是调用mutations中的方法
      }, 1000)
    }
  },
  modules: {
  }
})
